#include<iostream>
using namespace std;

template<class T>
void Swap(T &a, T &b)
{
	T t = a;
	a = b;
	b = t;
}

template<class T>
void Sort(T arr[], int len)
{
	int max;
	for (int i = 0; i < len; i++)
	{
		max = i;
		for (int j = i; j < len; j++)
		{
			if (arr[max] < arr[j])
			{
				max = j;
			}
		}
		if (max != i)
		{
			Swap(arr[max], arr[i]);
		}
	}
}

template<class T>
void PrintArr(T arr[], int len)
{
	for (int i = 0; i < len; i++)
	{
		cout << arr[i] << " ";
	}
	cout << endl;
}

void test01()
{
	char chArr[] = "kwasc";
	int len = sizeof(chArr) / sizeof(chArr[0]);
	Sort(chArr, len);
	PrintArr(chArr, len);
}

void test02()
{
	int arr[] = { 2,4,7,1,7,10,3 };
	int len = sizeof(arr) / sizeof(arr[0]);
	Sort(arr, len);
	PrintArr(arr, len);
}

int main()
{
	test01();
	test02();

	system("pause");
	return 0;
}